var express = require('express');
var router = express.Router();
var request = require('request');
var md5 = require('md5');

var CommonJS = require('../../common/common');
var DBConfig = require('../../db/dbconfig');
var mysql = require('mysql');
var pool = mysql.createPool(DBConfig.mysql2);

// 获取优惠券 列表
router.get('/jkyx/pc/coupone_list', function(req, res, next) {
	var param = req.query || req.params; 
	var page = param.page || 1;
	var count = 20;
	var index = (page - 1)*count;
	
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.pc_get_conpou,[index,count],function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				var totalCount = results[0].length;
				res.end(JSON.stringify({
	     			msg: '操作',
	     			status:'100',
	     			results: results[1],
	     			totalCount: totalCount
	     		}));
			}
		})
	})
});
// 获取优惠券 分类
router.get('/jkyx/pc/coupone_type', function(req, res, next) {
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.pc_get_conpou,function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				res.end(JSON.stringify({
	     			msg: '操作',
	     			status:'100',
	     			results: results
	     		}));
			}
		})
	})
});

// 新增优惠券 
router.get('/jkyx/pc/coupone_add', function(req, res, next) {
	var param = req.query || req.params; 
//name VARCHAR(250) NOT NULL DEFAULT '' COMMENT "优惠券 名字",
//type VARCHAR(1) NOT NULL DEFAULT '1' COMMENT "优惠券类别：1.新人优惠券 2.全场 优惠券 3.单品优惠券 4.品类优惠券",
//manzu VARCHAR(20) NOT NULL DEFAULT '1' COMMENT "优惠券 满多少",
//youhui VARCHAR(20) NOT NULL DEFAULT '1' COMMENT "优惠券 优惠金额",
//start_time VARCHAR(30) NOT NULL DEFAULT '' COMMENT "优惠券 开始时间",
//end_time VARCHAR(30) NOT NULL DEFAULT '' COMMENT "优惠券 结束时间",
//overdue_time VARCHAR(30) NOT NULL DEFAULT '' COMMENT "优惠券 过期时间",
//available_num INT(11) NOT NULL COMMENT "优惠券 可用数量",
//total_num INT(11) NOT NULL COMMENT "优惠券 总数量",
//status VARCHAR(1) NOT NULL DEFAULT '1' COMMENT "优惠券是否有效 1.启用 2.停用",
//is_delete VARCHAR(1) NOT NULL DEFAULT '1' COMMENT "优惠券是否删除 1.不删除 2.删除",
//create_time VARCHAR(20) NOT NULL DEFAULT ''  COMMENT "优惠券新建时间",	

	// 优惠券名字
	var name = param.name || '吉客优鲜';
	// 优惠券类型
	var type = param.type || '2';
	// 优惠券 满多少
	var manzu = param.manzu || '1';
	// 优惠券 优惠金额
	var youhui = param.youhui || '1';
	// 优惠券 开始时间
	var start_time = param.start_time || '';
	// 优惠券 结束时间
	var end_time = param.end_time || '';
	// 优惠券 过期时间
	var overdue_time = param.overdue_time || '';
	// 优惠券 可用数量
	var available_num = param.available_num || 1;
	// 优惠券 总数量
	var total_num = param.total_num || 1;
	// 优惠券 是否启用
	var status = param.status || 1;
	// 优惠券 是否删除
	var is_delete = '1';
	// 时间
	var create_time = CommonJS.getNowFormatDate();
	
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.pc_add_conpou,[name,type,manzu,youhui,start_time,end_time,overdue_time,available_num,total_num,status,is_delete,create_time],function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				res.end(JSON.stringify({
	     			msg: '操作成功',
	     			status:'100',
	     		}));
			}
		})
	})
});
// 编辑优惠券 
router.get('/jkyx/pc/coupone_edit', function(req, res, next) {
	var param = req.query || req.params; 
//name VARCHAR(250) NOT NULL DEFAULT '' COMMENT "优惠券 名字",
//type VARCHAR(1) NOT NULL DEFAULT '1' COMMENT "优惠券类别：1.新人优惠券 2.全场 优惠券 3.单品优惠券 4.品类优惠券",
//manzu VARCHAR(20) NOT NULL DEFAULT '1' COMMENT "优惠券 满多少",
//youhui VARCHAR(20) NOT NULL DEFAULT '1' COMMENT "优惠券 优惠金额",
//start_time VARCHAR(30) NOT NULL DEFAULT '' COMMENT "优惠券 开始时间",
//end_time VARCHAR(30) NOT NULL DEFAULT '' COMMENT "优惠券 结束时间",
//overdue_time VARCHAR(30) NOT NULL DEFAULT '' COMMENT "优惠券 过期时间",
//available_num INT(11) NOT NULL COMMENT "优惠券 可用数量",
//total_num INT(11) NOT NULL COMMENT "优惠券 总数量",
//status VARCHAR(1) NOT NULL DEFAULT '1' COMMENT "优惠券是否有效 1.启用 2.停用",
//is_delete VARCHAR(1) NOT NULL DEFAULT '1' COMMENT "优惠券是否删除 1.不删除 2.删除",
//create_time VARCHAR(20) NOT NULL DEFAULT ''  COMMENT "优惠券新建时间",	

	// 优惠券名字
	var name = param.name || '吉客优鲜';
	// 优惠券类型
	var type = param.type || '2';
	// 优惠券 满多少
	var manzu = param.manzu || '1';
	// 优惠券 优惠金额
	var youhui = param.youhui || '1';
	// 优惠券 开始时间
	var start_time = param.start_time || '';
	// 优惠券 结束时间
	var end_time = param.end_time || '';
	// 优惠券 过期时间
	var overdue_time = param.overdue_time || '';
	// 优惠券 总数量
	var total_num = param.total_num || 1;
	// 优惠券 是否启用
	var status = param.status || 1;
	var conpou_id = param.conpou_id || "";
	
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query('select * from jkyx_coupon where id = ?',[conpou_id],function (err, results) {
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				var available_num = results[0].available_num;
				var total_num2 = results[0].total_num;
				available_num = available_num + (total_num - total_num2);
				connection.query(DBConfig.pc_edit_conpou,[name,type,manzu,youhui,start_time,end_time,overdue_time,total_num,status,available_num,conpou_id],function (err, results) {
					connection.release();
					if (err){
					  	res.end(JSON.stringify({
			     			msg: '数据库查询失败',
			     			status:'102',
			     			err: err
			     		}));
					}else{
						res.end(JSON.stringify({
			     			msg: '操作成功',
			     			status:'100',
			     		}));
					}
				})
			}
		})
	})
});


// 启用某个优惠券
router.get('/jkyx/pc/coupone_open', function(req, res, next) {
	var param = req.query || req.params; 
	var conpou_id = param.conpou_id || "";
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.pc_open_conpou,[conpou_id],function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				res.end(JSON.stringify({
	     			msg: '操作成功',
	     			status:'100'
	     		}));
			}
		})
	})
});
// 停用某个优惠券
router.get('/jkyx/pc/coupone_close', function(req, res, next) {
	var param = req.query || req.params; 
	var conpou_id = param.conpou_id || "";
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.pc_close_conpou,[conpou_id],function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				res.end(JSON.stringify({
	     			msg: '操作成功',
	     			status:'100'
	     		}));
			}
		})
	})
});
// 删除某个优惠券
router.get('/jkyx/pc/coupone_delete', function(req, res, next) {
	var param = req.query || req.params; 
	var conpou_id = param.conpou_id || "";
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.pc_delete_conpou,[conpou_id],function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				res.end(JSON.stringify({
	     			msg: '操作成功',
	     			status:'100'
	     		}));
			}
		})
	})
});

// 获取优惠券详情
router.get('/jkyx/pc/conpou_detail', function(req, res, next) {
	var param = req.query || req.params; 
	var coupon_id = param.coupon_id; // 优惠券ID
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.pc_detail_conpou,[coupon_id],function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				if (results.length > 0) {
					res.end(JSON.stringify({
		     			msg: '操作成功',
		     			status:'100',
		     			data: results[0]
		     		}));	
				} else{
					res.end(JSON.stringify({
		     			msg: '无优惠',
		     			status:'104',
		     		}));
				}
			}
		})
	})
});

// 领卷中心
router.get('/jkyx/pc/conpouCenter', function(req, res, next) {
	// 当前时间
	var create_time = CommonJS.timestamp();
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.conpouCenter,function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				res.end(JSON.stringify({
	     			msg: '操作成功',
	     			status:'100',
	     			results: results
	     		}));
			}
		})
	})
});

// 给用户发放优惠券
router.get('/jkyx/pc/conpou_send', function(req, res, next) {
	var param = req.query || req.params; 
	// 用户手机号
	var tel = param.tel || 0;
	// 优惠券ID
	var conpou_id = param.conpou_id || 0;
	// 事件
	var create_time = CommonJS.getNowFormatDate();
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query('select account_id from account where account = ?',[tel],function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				if (results.length == 0) {
					res.end(JSON.stringify({
		     			msg: '不存在该用户',
		     			status:'103',
		     		}));
				} else{
					var account_id = results[0].account_id;
					var urlStr = 'http://localhost:8100/jkyx/conpou_recive?account_id=' + account_id + '&conpou_id=' + conpou_id;
					request(urlStr, function (error, response, body) {
						if (!error && response.statusCode == 200) {
							var body = JSON.parse(body);
							body.account_id = account_id;
							res.end(JSON.stringify(body));
						}
					})
				}
			}
		})
	})
});

// 用户优惠券 列表
router.get('/jkyx/pc/conpou_user', function(req, res, next) {
	var param = req.query || req.params; 
	// 用户ID
	var account_id = param.account_id || 0;
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.conpouUserList,[account_id],function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				res.end(JSON.stringify({
	     			msg: '操作成功',
	     			status:'100',
	     			results: results
	     		}));
			}
		})
	})
});




module.exports = router;
